import axios from 'axios'
import store from '@/store/index'
import { ElMessage } from 'element-plus'

// 配置 url 默认
const instance = axios.create({
 baseURL:"http://localhost:8080"
})

// 每一次发请求携带token  AOP编程思维 钩子函数 守卫函数 

instance.interceptors.request.use((req)=>{
    // console.log(store,store.state.token)
    if(store.state.token !== ""){
        req.headers.Authorization= 'Bearer '+store.state.token 
        // req.headers['abc']= "some go and to" 
    }
    // if(store.state.token){
    //     req.headers.Authorization= 'Bearer '+store.state.token 
    // }
    // req.headers.Authorization = token;
    // console.log(" -- >",req);

    // 放行请求
    return req;
})
//  每一次返回值 对于业务不正常代码 统一异常处理
instance.interceptors.response.use((res)=>{
//    正常返回 200 放行
    return res;
},(error)=>{
 // 接应后端自定义异常 使用ElMessage等方式展示给用户 
    // console.log("--->  ",error)
    if(error.status === 888){
        // console.log(error.response.data)
        ElMessage.warning(JSON.stringify(error.response.data))
        return new Promise(()=>{})
    }
    if(error.status === 666){
        ElMessage.success(JSON.stringify(error.response.data))
        return new Promise(()=>{})
    }
    return new Promise(()=>{})
})

export default instance